<?php

if (!defined('BASEPATH'))
    exit('No direct script access allowed');

class Usuarios extends CI_Controller {

    public function __construct() {
        parent::__construct();
        session_start();
        $this->esSuperAdministrador();
        $this->load->model('_usuarioM');
        $this->load->model('_establecimientoM');
        $this->load->model('_establecimiento_x_usuarioM');
        $this->load->model('_tipoHabitacionM');
        $this->load->model('_paisM');
        $this->load->model('_cuentaM');
        $this->load->model('_cuenta_x_usuarioM');
    }

    public function index() {
        $data = array();
        $this->loadData($data);
        // var_dump($data['clientes']);
        $this->load->view('admin/templates/header', $data);
        $this->load->view('admin/templates/tabs');
        $this->load->view('admin/usuariosV');
        $this->load->view('admin/templates/footer');
    }

    private function loadData(&$data) {
        $data['tab'] = "usuarios";
        $data['mostrarMenu'] = true;
        $data['paises'] = $this->_paisM->getAll();
        $data['cuentas'] = $this->_cuentaM->getAll();
        $data['usuarios'] = $this->_usuarioM->getAdministradores();
    }

    public function crearUsuarioAdministrador() {
        if (!empty($_POST)) {
            $this->escapar($_POST);
            var_dump($_POST);
            $user = $this->crearUsuario($_POST);
            $this->crearEstablecimiento($user, $_POST);
        }
        header("Location:../administrarUsuarios");
    }

    private function crearUsuario($data) {
        $data['codigo_de_recomendacion'] = $this->generarCodigoRecomendacion();
        $this->_usuarioM->insertAdministrator($data);
        return mysql_insert_id();
    }

    private function crearEstablecimiento($user, $data) {
        $establecimientos = $data['establecimiento'];
        $cuenta = $data['cuenta'];
        var_dump($cuenta);
        foreach ($establecimientos as $key => $establecimiento) {
            //  echo "--$key<br>";
            $est = $this->_establecimientoM->insert($establecimiento);
            $this->_tipoHabitacionM->insertTipos($est);
            $this->crearUsuarioXEstablecimiento($user, $est);
            $this->crearCuentaXUsuario($user, $est, $cuenta[$key]);
        }
    }

    private function crearUsuarioXEstablecimiento($user, $establecimiento) {
        $data['rol'] = 'administrador';
        $this->_establecimiento_x_usuarioM->insert($establecimiento, $user, $data);
    }

    private function crearCuentaXUsuario($user, $est, $cuenta) {
        $this->_cuenta_x_usuarioM->insert($est, $user, $cuenta);
    }

    private function generarCodigoRecomendacion() {
        return "hola";
    }

}

